#ifndef _PARTHUS_TRA_BCSP_H_
#define _PARTHUS_TRA_BCSP_H_
/*****************************************************************************
 * MODULE NAME:    tra_bcsp.h
 * PROJECT CODE:   Bluetooth
 * DESCRIPTION:    Generic BCSP sub-layer (HCI transport)
 * MAINTAINER:     Lu Gongyu
 * CREATION DATE:  30 March 2008
 *
 * SOURCE CONTROL: $Id: tra_bcsp.h,v 1.8 2009/12/23 11:39:43 tianwq Exp $
 *
 *****************************************************************************/

#include "sys_types.h"
#include "sys_config.h"

#include "tra_hcit.h"

#define HCIT_UART_BCSP_FLAG_CRC_START           0x01
#define HCIT_UART_BCSP_FLAG_CRC_STOP            0x02
#define HCIT_UART_BCSP_FLAG_CRC_APPEND          0x04
#define HCIT_UART_BCSP_FLAG_CONVERT_START       0x10
#define HCIT_UART_BCSP_FLAG_CONVERT_STOP        0x20
#define HCIT_UART_BCSP_FLAG_CONVERT_APPEND      0x40

void TRAhcit_BCSP_Initialise(void);
void TRAhcit_BCSP_Shutdown(void);
void TRAhcit_BCSP_Convert_Baudrate(void);
void TRAhcit_BCSP_Transmit(u_int8 *data, u_int32 pdu_len, 
                u_int8 *header,u_int8 head_len, u_int8 tra_source,t_deviceIndex device_index);

void TRAhcit_BCSP_Rx_Data(u_int16 length, u_int8 status);
void TRAhcit_BCSP_ReTransmit_Packet(void);

typedef void (*t_bcsp_filter)(u_int8 index, u_int32 data);
void TRAhcit_BCSP_Set_Filter(t_bcsp_filter filter);
#endif 
